// pages/mall/index/index.js
const app = getApp(); // 获取应用实例

Page({
  data: {
    bomMenus: [], //底部菜单数据
    bomMenuId: 1, //页面ID
    bomMenuKd: '19%', //菜单宽度
    topLoading: false, //下拉刷新
    moreLoading: false, //上拉加载
    bannerAry: [], //轮播图
    shequ_pop: 0, shequList: [], //社区信息
    shequ_id: 0, shequ_name: '所有', 
    cateList: [], //分类数据
    cate_id: 0,
    glist: [], //商品数据
    page: 1, size: 4, //分页
    gh: 400, //商品外高度
    bodyh: 60, //90vh
    xiala: 1, //0叠加1刷新下拉
  },

  onLoad(options) {
    this.islogin();
    var uinfo = wx.getStorageSync('uinfo');
    if (!uinfo) {
      wx.showToast({
        title: '没有登录', icon: 'none',
      }); return
    }
    // if (uinfo.shequ_id > 0) {
    //   this.setData({
    //     shequ_id: uinfo.shequ_id,
    //     shequ_name: uinfo.shequ_name,
    //     shequ_pop: 0,
    //   });
    // } else {
    //   this.shequList();
    // }
  },

  onShow() {
    this.bomMenuList();
    this.bannerList();
    this.cateList();
    this.goodsList();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    console.log('下拉刷新触发');
    this.setData({
      topLoading: true,
      xiala: 0,
    });
    this.goodsList();
    this.setData({
      topLoading: false,
      xiala: 1,
    });
    wx.stopPullDownRefresh(); // 停止刷新动画
    console.log('下拉完成');
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    console.log('上拉更多开始');
    // 如果正在加载，直接返回
    if (this.data.moreLoading) return; 
    var nextPage = this.data.page * 1 + 1;
    this.setData({
      moreLoading: true,
      page: nextPage,
    });
    this.goodsList();
    console.log('上拉更多完成');
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 去授权登录
  islogin: function (e) {
    var uinfo = wx.getStorageSync('uinfo');
    if (!uinfo) {
      wx.showToast({
        title: '没有授权登录', icon: 'none'
      }); 
      wx.navigateTo({
        url: '/pages/index/wxlogin/index',
      });
      return
    }
  },

  // 底部菜单
  bomMenuList: function () {
    // this.setData({ bomMenus: app.globalData.bomAry }); return
    var _this = this;
    wx.request({
      method: 'post',
      url: app.globalData.xcxApi + 'init',
      data: {},
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res.data);
        res = res.data;
        if (res.code < 0) {
          return
        }
        _this.setData({
          bomMenus: res.data.menus,
          bomMenuKd: res.data.kd,
        });
      },
      error: function (err) {
        console.log(err);
      }
    })
  },

  // 页面跳转
  toView: function(e) {
    console.log(e);
    var id = e.currentTarget.dataset.id;
    if (id == this.data.bomMenuId) { return }
    var bms = this.data.bomMenus, mlink = '', i = 0;
    for (; i < bms.length; i ++) {
      if (bms[i].id == id) {
        mlink = bms[i].link;
      }
    }
    console.log(mlink);
    // wx.navigateBack({
    //   url: mlink,
    // });
    wx.navigateTo({
      url: mlink,
    });
  },

  // 轮播图
  bannerList: function (e) {
    var _this = this;
    wx.request({
      method: 'post',
      url: app.globalData.xcxApi + 'banner/list',
      data: { type: 1 },
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res.data);
        res = res.data;
        if (res.code < 0) {
          return
        }
        _this.setData({
          bannerAry: res.data,
        });
      },
      error: function (err) {
        console.log(err);
      }
    });
  },
  
  // 社区列表
  shequList: function () {
    var uinfo = wx.getStorageSync('uinfo');
    if (!uinfo) { return }
    var _this = this;
    wx.request({
      method: 'post',
      url: app.globalData.xcxApi + 'shequ/list',
      data: {  },
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res.data);
        res = res.data;
        if (res.code < 0) {
          return
        }
        _this.setData({
          shequList: res.data,
          shequ_pop: 1,
        });
      },
      error: function (err) {
        console.log(err);
      }
    });
  },

  // 社区选择
  toShequ: function (e) {
    console.log(e);
    var uinfo = wx.getStorageSync('uinfo');
    if (!uinfo) {
      wx.showToast({
        title: '没有登录', icon: 'none'
      }); return
    }
    var id = e.currentTarget.dataset.id;
    var sqlist = this.data.shequList, title = '';
    for (var i = 0; i < sqlist.length; i ++) {
      if (id == sqlist[i].id) { title = sqlist[i].title; }
    }
    if (title == '') { return }
    uinfo.shequ_id = id;
    uinfo.shequ_name = title;
    wx.setStorageSync('uinfo', uinfo);
    this.setData({ 
      shequ_id: id, 
      shequ_name: title,
      shequ_pop: 0,
    });
    this.goodsList();
  },

  // // 顶部分类
  // cateList: function () {
  //   var cs = [
  //     { id: 0, title: '所有' },
  //     { id: 1, title: '饮料' },
  //     { id: 2, title: '百货' },
  //     { id: 3, title: '糕点' },
  //     { id: 4, title: '穿戴' },
  //   ];
  //   this.setData({
  //     cateList: cs,
  //   });
  // },

  // 顶部分类
  cateList: function () {
    var _this = this;
    wx.request({
      method: 'post',
      url: app.globalData.xcxApi + 'cate/list',
      data: { type: 1 },
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res.data);
        res = res.data;
        if (res.code < 0) {
          return
        }
        _this.setData({
          cateList: res.data,
        });
      },
      error: function (err) {
        console.log(err);
      }
    });
  },

  // 配置分类选项
  toCate: function (e) {
    console.log(e);
    var cate_id = e.currentTarget.dataset.id;
    this.setData({ cate_id: cate_id });
  },

  // 商品数据
  // goodsList: function () {
  //   var gs = [
  //     { id: 1, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 2, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 3, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 4, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 5, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 6, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //   ];
  //   var gh = gs.length / 2 * 500 + 300;
  //   this.setData({
  //     glist: gs,
  //     gh: gh,
  //   });
  // },

  // 获取数据
  goodsList: function (e) {
    var uinfo = wx.getStorageSync('uinfo');
    console.log(uinfo);
    var _this = this;
    var formData = {
      page: _this.data.page,
      size: _this.data.size,
      uid: uinfo.uid,
      cate_id: _this.data.cate_id,
      shequ_id: _this.data.shequ_id,
    };
    wx.request({
      method: 'post',
      url: app.globalData.xcxApi + 'yw-user/tmp/list',
      data: formData,
      header: { 'Content-Type': 'application/json' },
      success: function (res) {
        console.log(res.data);
        res = res.data;
        if (res.code < 0) {
          _this.setData({
            // glist: [],
            moreLoading: false,
          });
          return
        }
        var d = res.data;
        if (_this.data.xiala > 0) {
          var glist = _this.data.glist;
          for (var i = 0; i < d.length; i ++) {
            glist.push(d[i]);
          }
          d = glist;
        }
        _this.setData({
          glist: d,
          bodyh: _this.data.bodyh * 1 + 60,
          moreLoading: false, // 请求完成后重置状态
          xiala: 1,
        });
      },
      error: function (err) {
        console.log(err);
      }
    });
  },

  // 去添加
  toAdd: function () {
    wx.navigateTo({
      url: '/pages/scan/index',
    });
  },

  // // 监听下拉刷新
  // onPullDownRefresh() {
  //   console.log('下拉刷新触发');
  //   this.setData({
  //     topLoading: true,
  //   });
  //   this.loadData(); // 重新加载数据
  // },
  
  // // 数据加载
  // loadData() {
  //   // 替换为你的实际请求逻辑（如调用接口）
  //   setTimeout(() => {
  //     this.goodsList();
  //     this.setData({
  //       topLoading: false,
  //     });
  //     wx.stopPullDownRefresh(); // 停止刷新动画
  //     console.log('下拉完成');
  //   }, 500);
  // },

  // // 上拉更多数据
  // onReachBottom() {
  //   console.log('上拉更多开始');
  //   // 如果正在加载，直接返回
  //   if (this.data.moreLoading) return; 
  //   var nextPage = this.data.page * 1 + 1;
  //   this.setData({
  //     moreLoading: true,
  //     page: nextPage,
  //   });
  //   this.goodsList();
  //   console.log('上拉更多完成');
  // },

  // // 更多数据
  // loadMoreData() {
  //   var gs = [
  //     { id: 1, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 2, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 3, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 4, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 5, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //     { id: 6, cover: '/imgs/goods.png', title: '衣服一份翻译衣服衣服衣服一份翻译衣服衣服', tag: '标签标签', price: '10.00' },
  //   ];
  //   var glist = this.data.glist;
  //   console.log(glist);
  //   for (var i = 0; i < gs.length; i ++) {
  //     glist.push(gs[i]);
  //   }
  //   console.log(glist);
  //   setTimeout(() => {
  //     this.setData({
  //       glist: glist,
  //       bodyh: this.data.bodyh * 1 + 90,
  //       moreLoading: false, // 请求完成后重置状态
  //     });
  //   }, 1000);
  // },

  // 详情
  toTmpOne: function (e) {
    console.log(e);
    var id = e.currentTarget.dataset.id;
    var pa = '?id=' + id;
    wx.navigateTo({
      url: '/pages/scan/tmp/index' + pa,
    });
  },
});
